Allow nextgenrepl to real-time replicate reaps (#6) #1879
+297
−145
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is to address the issue of reaping across sync'd clusters. Without this feature it is necessary to disable full-sync whilst independently replicating on each cluster.
Now if reaping via riak_kv_reaper the reap will be replicated assuming the
riak_kv.repl_reap
flag has been enabled. At the receiving cluster the reap will not be replicated any further.There are some API changes to support this. The
find_tombs
aae_fold will now return Keys/Clocks and not Keys/DeleteHash. The ReapReference for riak_kv_repaer will now expect a clock (version vector) not a DeleteHash, and will also now expect an additional boolean to indicate if this repl is a replication candidate (it will be false for all pushed reaps).The object encoding for nextgenrepl now has a flag to indicate a reap, with a special encoding for reap references.
Clarify specs
Take timestamp at correct point (after push)
Updates following review
Update rebar.config